// Copyright 2014 The Azul3D Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package al

/*
#include "AL/alext.h"
*/
import "C"

const (
	LOKI_IMA_ADPCM_format         int32 = C.AL_LOKI_IMA_ADPCM_format
	FORMAT_IMA_ADPCM_MONO16_EXT   int32 = C.AL_FORMAT_IMA_ADPCM_MONO16_EXT
	FORMAT_IMA_ADPCM_STEREO16_EXT int32 = C.AL_FORMAT_IMA_ADPCM_STEREO16_EXT

	LOKI_WAVE_format int32 = C.AL_LOKI_WAVE_format
	FORMAT_WAVE_EXT  int32 = C.AL_FORMAT_WAVE_EXT

	EXT_vorbis        int32 = C.AL_EXT_vorbis
	FORMAT_VORBIS_EXT int32 = C.AL_FORMAT_VORBIS_EXT

	LOKI_quadriphonic  int32 = C.AL_LOKI_quadriphonic
	FORMAT_QUAD8_LOKI  int32 = C.AL_FORMAT_QUAD8_LOKI
	FORMAT_QUAD16_LOKI int32 = C.AL_FORMAT_QUAD16_LOKI

	EXT_float32           int32 = C.AL_EXT_float32
	FORMAT_MONO_FLOAT32   int32 = C.AL_FORMAT_MONO_FLOAT32
	FORMAT_STEREO_FLOAT32 int32 = C.AL_FORMAT_STEREO_FLOAT32

	EXT_double               int32 = C.AL_EXT_double
	FORMAT_MONO_DOUBLE_EXT   int32 = C.AL_FORMAT_MONO_DOUBLE_EXT
	FORMAT_STEREO_DOUBLE_EXT int32 = C.AL_FORMAT_STEREO_DOUBLE_EXT

	EXT_MULAW               int32 = C.AL_EXT_MULAW
	FORMAT_MONO_MULAW_EXT   int32 = C.AL_FORMAT_MONO_MULAW_EXT
	FORMAT_STEREO_MULAW_EXT int32 = C.AL_FORMAT_STEREO_MULAW_EXT

	EXT_ALAW               int32 = C.AL_EXT_ALAW
	FORMAT_MONO_ALAW_EXT   int32 = C.AL_FORMAT_MONO_ALAW_EXT
	FORMAT_STEREO_ALAW_EXT int32 = C.AL_FORMAT_STEREO_ALAW_EXT

	ALC_LOKI_audio_channel int32 = C.ALC_LOKI_audio_channel
	ALC_CHAN_MAIN_LOKI     int32 = C.ALC_CHAN_MAIN_LOKI
	ALC_CHAN_PCM_LOKI      int32 = C.ALC_CHAN_PCM_LOKI
	ALC_CHAN_CD_LOKI       int32 = C.ALC_CHAN_CD_LOKI

	EXT_MCFORMATS  int32 = C.AL_EXT_MCFORMATS
	FORMAT_QUAD8   int32 = C.AL_FORMAT_QUAD8
	FORMAT_QUAD16  int32 = C.AL_FORMAT_QUAD16
	FORMAT_QUAD32  int32 = C.AL_FORMAT_QUAD32
	FORMAT_REAR8   int32 = C.AL_FORMAT_REAR8
	FORMAT_REAR16  int32 = C.AL_FORMAT_REAR16
	FORMAT_REAR32  int32 = C.AL_FORMAT_REAR32
	FORMAT_51CHN8  int32 = C.AL_FORMAT_51CHN8
	FORMAT_51CHN16 int32 = C.AL_FORMAT_51CHN16
	FORMAT_51CHN32 int32 = C.AL_FORMAT_51CHN32
	FORMAT_61CHN8  int32 = C.AL_FORMAT_61CHN8
	FORMAT_61CHN16 int32 = C.AL_FORMAT_61CHN16
	FORMAT_61CHN32 int32 = C.AL_FORMAT_61CHN32
	FORMAT_71CHN8  int32 = C.AL_FORMAT_71CHN8
	FORMAT_71CHN16 int32 = C.AL_FORMAT_71CHN16
	FORMAT_71CHN32 int32 = C.AL_FORMAT_71CHN32

	EXT_MULAW_MCFORMATS int32 = C.AL_EXT_MULAW_MCFORMATS
	FORMAT_MONO_MULAW   int32 = C.AL_FORMAT_MONO_MULAW
	FORMAT_STEREO_MULAW int32 = C.AL_FORMAT_STEREO_MULAW
	FORMAT_QUAD_MULAW   int32 = C.AL_FORMAT_QUAD_MULAW
	FORMAT_REAR_MULAW   int32 = C.AL_FORMAT_REAR_MULAW
	FORMAT_51CHN_MULAW  int32 = C.AL_FORMAT_51CHN_MULAW
	FORMAT_61CHN_MULAW  int32 = C.AL_FORMAT_61CHN_MULAW
	FORMAT_71CHN_MULAW  int32 = C.AL_FORMAT_71CHN_MULAW

	EXT_IMA4           int32 = C.AL_EXT_IMA4
	FORMAT_MONO_IMA4   int32 = C.AL_FORMAT_MONO_IMA4
	FORMAT_STEREO_IMA4 int32 = C.AL_FORMAT_STEREO_IMA4

	EXT_STATIC_BUFFER int32 = C.AL_EXT_STATIC_BUFFER

	ALC_EXT_EFX int32 = C.ALC_EXT_EFX

	ALC_EXT_disconnect int32 = C.ALC_EXT_disconnect
	ALC_CONNECTED      int32 = C.ALC_CONNECTED

	ALC_EXT_thread_local_context int32 = C.ALC_EXT_thread_local_context

	EXT_source_distance_model int32 = C.AL_EXT_source_distance_model
	SOURCE_DISTANCE_MODEL     int32 = C.AL_SOURCE_DISTANCE_MODEL

	SOFT_buffer_sub_data   int32 = C.AL_SOFT_buffer_sub_data
	BYTE_RW_OFFSETS_SOFT   int32 = C.AL_BYTE_RW_OFFSETS_SOFT
	SAMPLE_RW_OFFSETS_SOFT int32 = C.AL_SAMPLE_RW_OFFSETS_SOFT

	SOFT_loop_points int32 = C.AL_SOFT_loop_points
	LOOP_POINTS_SOFT int32 = C.AL_LOOP_POINTS_SOFT

	EXT_FOLDBACK         int32 = C.AL_EXT_FOLDBACK
	EXT_FOLDBACK_NAME          = C.AL_EXT_FOLDBACK_NAME
	FOLDBACK_EVENT_BLOCK int32 = C.AL_FOLDBACK_EVENT_BLOCK
	FOLDBACK_EVENT_START int32 = C.AL_FOLDBACK_EVENT_START
	FOLDBACK_EVENT_STOP  int32 = C.AL_FOLDBACK_EVENT_STOP
	FOLDBACK_MODE_MONO   int32 = C.AL_FOLDBACK_MODE_MONO
	FOLDBACK_MODE_STEREO int32 = C.AL_FOLDBACK_MODE_STEREO

	ALC_EXT_DEDICATED                     int32 = C.ALC_EXT_DEDICATED
	DEDICATED_GAIN                        int32 = C.AL_DEDICATED_GAIN
	EFFECT_DEDICATED_DIALOGUE             int32 = C.AL_EFFECT_DEDICATED_DIALOGUE
	EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT int32 = C.AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT

	SOFT_buffer_samples int32 = C.AL_SOFT_buffer_samples

	// Channel configurations
	MONO_SOFT       int32 = C.AL_MONO_SOFT
	STEREO_SOFT     int32 = C.AL_STEREO_SOFT
	REAR_SOFT       int32 = C.AL_REAR_SOFT
	QUAD_SOFT       int32 = C.AL_QUAD_SOFT
	AL_5POINT1_SOFT int32 = C.AL_5POINT1_SOFT
	AL_6POINT1_SOFT int32 = C.AL_6POINT1_SOFT
	AL_7POINT1_SOFT int32 = C.AL_7POINT1_SOFT

	// Sample types
	BYTE_SOFT           int32 = C.AL_BYTE_SOFT
	UNSIGNED_BYTE_SOFT  int32 = C.AL_UNSIGNED_BYTE_SOFT
	SHORT_SOFT          int32 = C.AL_SHORT_SOFT
	UNSIGNED_SHORT_SOFT int32 = C.AL_UNSIGNED_SHORT_SOFT
	INT_SOFT            int32 = C.AL_INT_SOFT
	UNSIGNED_INT_SOFT   int32 = C.AL_UNSIGNED_INT_SOFT
	FLOAT_SOFT          int32 = C.AL_FLOAT_SOFT
	DOUBLE_SOFT         int32 = C.AL_DOUBLE_SOFT
	BYTE3_SOFT          int32 = C.AL_BYTE3_SOFT
	UNSIGNED_BYTE3_SOFT int32 = C.AL_UNSIGNED_BYTE3_SOFT

	// Storage formats
	MONO8_SOFT          int32 = C.AL_MONO8_SOFT
	MONO16_SOFT         int32 = C.AL_MONO16_SOFT
	MONO32F_SOFT        int32 = C.AL_MONO32F_SOFT
	STEREO8_SOFT        int32 = C.AL_STEREO8_SOFT
	STEREO16_SOFT       int32 = C.AL_STEREO16_SOFT
	STEREO32F_SOFT      int32 = C.AL_STEREO32F_SOFT
	QUAD8_SOFT          int32 = C.AL_QUAD8_SOFT
	QUAD16_SOFT         int32 = C.AL_QUAD16_SOFT
	QUAD32F_SOFT        int32 = C.AL_QUAD32F_SOFT
	REAR8_SOFT          int32 = C.AL_REAR8_SOFT
	REAR16_SOFT         int32 = C.AL_REAR16_SOFT
	REAR32F_SOFT        int32 = C.AL_REAR32F_SOFT
	AL_5POINT1_8_SOFT   int32 = C.AL_5POINT1_8_SOFT
	AL_5POINT1_16_SOFT  int32 = C.AL_5POINT1_16_SOFT
	AL_5POINT1_32F_SOFT int32 = C.AL_5POINT1_32F_SOFT
	AL_6POINT1_8_SOFT   int32 = C.AL_6POINT1_8_SOFT
	AL_6POINT1_16_SOFT  int32 = C.AL_6POINT1_16_SOFT
	AL_6POINT1_32F_SOFT int32 = C.AL_6POINT1_32F_SOFT
	AL_7POINT1_8_SOFT   int32 = C.AL_7POINT1_8_SOFT
	AL_7POINT1_16_SOFT  int32 = C.AL_7POINT1_16_SOFT
	AL_7POINT1_32F_SOFT int32 = C.AL_7POINT1_32F_SOFT

	// Buffer attributes
	INTERNAL_FORMAT_SOFT int32 = C.AL_INTERNAL_FORMAT_SOFT
	BYTE_LENGTH_SOFT     int32 = C.AL_BYTE_LENGTH_SOFT
	SAMPLE_LENGTH_SOFT   int32 = C.AL_SAMPLE_LENGTH_SOFT
	SEC_LENGTH_SOFT      int32 = C.AL_SEC_LENGTH_SOFT

	SOFT_direct_channels int32 = C.AL_SOFT_direct_channels
	DIRECT_CHANNELS_SOFT int32 = C.AL_DIRECT_CHANNELS_SOFT

	ALC_SOFT_loopback        int32 = C.ALC_SOFT_loopback
	ALC_FORMAT_CHANNELS_SOFT int32 = C.ALC_FORMAT_CHANNELS_SOFT
	ALC_FORMAT_TYPE_SOFT     int32 = C.ALC_FORMAT_TYPE_SOFT

	// Sample types
	ALC_BYTE_SOFT           int32 = C.ALC_BYTE_SOFT
	ALC_UNSIGNED_BYTE_SOFT  int32 = C.ALC_UNSIGNED_BYTE_SOFT
	ALC_SHORT_SOFT          int32 = C.ALC_SHORT_SOFT
	ALC_UNSIGNED_SHORT_SOFT int32 = C.ALC_UNSIGNED_SHORT_SOFT
	ALC_INT_SOFT            int32 = C.ALC_INT_SOFT
	ALC_UNSIGNED_INT_SOFT   int32 = C.ALC_UNSIGNED_INT_SOFT
	ALC_FLOAT_SOFT          int32 = C.ALC_FLOAT_SOFT

	// Channel configurations
	ALC_MONO_SOFT    int32 = C.ALC_MONO_SOFT
	ALC_STEREO_SOFT  int32 = C.ALC_STEREO_SOFT
	ALC_QUAD_SOFT    int32 = C.ALC_QUAD_SOFT
	ALC_5POINT1_SOFT int32 = C.ALC_5POINT1_SOFT
	ALC_6POINT1_SOFT int32 = C.ALC_6POINT1_SOFT
	ALC_7POINT1_SOFT int32 = C.ALC_7POINT1_SOFT

	EXT_STEREO_ANGLES int32 = C.AL_EXT_STEREO_ANGLES
	STEREO_ANGLES     int32 = C.AL_STEREO_ANGLES

	EXT_SOURCE_RADIUS int32 = C.AL_EXT_SOURCE_RADIUS
	SOURCE_RADIUS     int32 = C.AL_SOURCE_RADIUS

	SOFT_source_latency        int32 = C.AL_SOFT_source_latency
	SAMPLE_OFFSET_LATENCY_SOFT int32 = C.AL_SAMPLE_OFFSET_LATENCY_SOFT
	SEC_OFFSET_LATENCY_SOFT    int32 = C.AL_SEC_OFFSET_LATENCY_SOFT
)
